hysop.backend.device.opencl.operator.custom_symbolic module

class hysop.backend.device.opencl.operator.custom_symbolic.OpenClCustomSymbolicOperator(**kwds)[source]

Bases: CustomSymbolicOperatorBase, OpenClOperator

Initialize a CustomSymbolicOperatorBase. Expressions are parsed and input/output vars are extracted.

Parameters:
  • exprs (array_like of valid hysop.symbolic.Expr) – Expressions that will generate code. Valid expressions are defined as hysop.operator.base.custom_symbolic_operator.ValidExpressions.

  • variables (dict) – dictionary of fields as keys aned topologies as values.

  • splitting_direction (int) – Expected direction of derivatives in given expression.

  • splitting_dim (int) – Only used in directional splittings.

  • dt_coeff (float) – Only used in directional splittings.

  • dt (ScalarParameter) – Only used for integration.

  • kwds – Base class keyword arguments.

Notes

All input and output fields and parameters are directly extracted from expression analysis.

apply(**kwds)

Abstract method that should be implemented. Applies this node (operator, computational graph operator…).

setup(work)[source]

Setup required work.

classmethod supports_mpi()[source]

Return True if this operator was implemented to support multiple mpi processes.